package com.jiao.store.mapper;

import com.jiao.store.Vo.CartVO;
import com.jiao.store.entity.Card;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;

import java.util.Date;
import java.util.List;

@Mapper
public interface CardMapper {


    /**
     * 插入购物车数据
     * @param card
     * @return
     */
  Integer  insertCard(Card card);

    /**
     * 更新购物车某件商品的数量
     * @param cid 购物车id
     * @param num 数量
     * @param modifiedUser 修改人
     * @param modifiedTime 修改时间
     * @return 受影响的行数
     */
   Integer   updateNumByCid(@Param("cid") Integer cid,@Param("num") Integer num,@Param("modifiedUser") String modifiedUser,@Param("modifiedTime") Date modifiedTime);

    /**
     * 根据用户id来查询购物车中数据
     * @param uid
     * @param pid
     * @return
     */
           Card    findByUidAndPid(@Param("uid") Integer uid,@Param("pid") Integer pid);



    //这里要传两个对象分别是card 和product  使用VO:value object 当进行select 查询，查询的结果为多个表中内容，此时发现结果集不能直接使用某个POJO实体类来接收，
    // 我们就重新去构建一个新的对象，这个对象用户储存所查询出来的结果集对应的映射，所以把这个的对象称之为值对象
       List<CartVO> findVoByUid(Integer uid);







}
